A RAID-6 system may be configured to stripe and interleave data, parity (P) and a Galois-field syndrome (hereinafter “Q syndrome” or “Q”) across a plurality of storage devices (e.g., disk drives). The Q syndrome may be used to recover data sectors if two storage devices fail. To generate the Q syndrome, some RAID-6 systems utilize Galois-field calculations using a Galois-field polynomial in combination with data blocks. A Galois-field is a field with a finite number of elements. Galois-field calculations with 8-bit (Byte) fields, as applied to RAID systems, may allow for a maximum of 257 drives, 255 (28−1) of which may be data drives. The other two drives may be XOR parity (P) and the Reed-Solomon code Q. For example, given a series of stripes 0-3 (where each stripe includes 3 data disks and 2 syndrome disks), an operation may be performed on a stripe where each byte in a block (e.g., 512 bytes) may be independent from the others. The following equations define P and Q for a RAID-6 array with n data disks and 2 check disks (P may be plain parity across the stripe).P=D0⊕D1⊕D2 . . . ⊕Dn-1   EQ. 1)Q=g0*D0⊕g1*D1⊕g2*D2 . . . ⊕gn-1*Dn-1;   EQ. 2)where D represents a data byte from a respective storage device of a RAID system and generator (g) may be defined as an element of the field that can generate all elements of the field including successive powers: gi.
The inverse of a generator for Galois-field (28) can be computed using the following equation:g−a=g255−a   EQ. 3)
Some of the more popular techniques for Galois-field algebra are implemented in software and utilize look-up tables to perform computations. For example, the equations listed above may be represented as look-up tables for specific polynomials (e.g. Galois-field multiplication tables for polynomials such as 11D, etc.). Alternatively, existing hardware implementations may utilize a large number of Galois-field multipliers, which may require a significant hardware investment and silicon area to perform these calculations. Further, conventional hardware approaches may be limited in that it may require the use of one particular Galois-field polynomial.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.